package com.scgaopan.disruptor;

import com.lmax.disruptor.EventHandler;

/**
 * Author:scgaopan
 * Date:18/10/25
 * Description:消息事件处理器，打印输出到控制台
 * 这里需要执行速度足够快，否则，会影响ringbuffer后续没有空间加入新的数据。因此，不能作业务耗时操作，建议用java线程池处理消息
 */
public class LongEventHandler implements EventHandler<LongEvent> {


    /**
     *
     * @param event 消息邦定在此Event之上
     * @param sequence  数据在ringbuffer环的位置
     * @param endOfBatch
     * @throws Exception
     */
    public void onEvent(LongEvent event, long sequence, boolean endOfBatch) throws Exception {
        System.out.println("cousumer:"+Thread.currentThread().getName()+
                " Event:value="+event.getValue()+" ,sequecnce="+sequence+",endOfBatch="+endOfBatch);
    }
}
